Endowment Percent Change

Rose Evard

2023-04-10

# make kable table with consistent formatting
make_table <- function(..., title = "", col_names = c("")) {
  title <- paste0("<center><span style = 'font-size:150%;color:black'><b>",
                  title,
                  "</span></b><center>")
   as_tibble(...) %>%
    kbl(caption = title,
        col.names = col_names) %>%
    kable_material() %>%
    row_spec(row=0, background = "#43494C" , color = "white", bold = TRUE)
}
## Loading in data
endowment_data <- read_rds(here("data", "endowments_by_most_recent_filings.RDS"))
names <- read_csv(here("data", "companies.csv")) %>% 
  ## Dealing with EINs reading in without zero in front
  mutate(EIN = as.character(ein),
         EIN = case_when(
           nchar(EIN) == 8 ~ paste("0", EIN, sep =""),
           TRUE ~ EIN
  )) %>% 
  select(-ein)
## Rows: 309 Columns: 3
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): organization_name, dance_styles
## dbl (1): ein
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

Calculating Percent Change

Including Investments

(End Year Balance - Beginning Year Balance) / Beginning Year Balance * 100

If EYB is larger, positive result. Meaning there was a INCREASE in total funds.
If BYB is larger, negative result. Meaning a DECREASE in total funds.
If result is above 100, the fund was at least DOUBLED.

#### USE THIS
## (EYB - BYB)/BYB * 100
## Rose has notes on her choice for this calculation
pct_change_ds <- endowment_data %>%
  filter(!is.na(BeginningYearBalanceAmt)) %>%
  mutate(change = EndYearBalanceAmt - BeginningYearBalanceAmt,
         pct_change = change/BeginningYearBalanceAmt * 100) %>%
  arrange(desc(pct_change)) %>%
  left_join(names, by = "EIN")

REMOVING Investments

(End Year Balance - Investment Earnings or Losses Amount - Beginning Year Balance) / Beginning Year Balance * 100

Positive result: INCREASE in total funds.
Negative result: DECREASE in total funds.
If result is above 100, the fund was at least DOUBLED.

#### USE THIS
## (EYB - INV - BYB)/BYB * 100
## Rose has notes on her choice for this calculation
pct_change_inv_ds <- endowment_data %>%
  filter(!is.na(BeginningYearBalanceAmt)) %>%
  mutate(InvestmentEarningsOrLossesAmt = ifelse(is.na(InvestmentEarningsOrLossesAmt), 0, InvestmentEarningsOrLossesAmt)) %>%
  mutate(change = EndYearBalanceAmt - InvestmentEarningsOrLossesAmt - BeginningYearBalanceAmt,
         pct_change = change/BeginningYearBalanceAmt * 100) %>%
  arrange(desc(pct_change)) %>%
  left_join(names, by = "EIN")

Summarizing Information

With investments

# Basic summary stats
pct_change_ds %>%   
  filter(!is.na(pct_change) & pct_change != Inf) %>%
  summarize(avg_pct_change = mean(pct_change),
            median_pct_change = median(pct_change),
            sd_pct_change = sd(pct_change))
pct_change_ds %>%   
  filter(!is.na(pct_change) & pct_change != Inf) %>%
  group_by(EIN) %>%
  summarize(avg_pct_change = mean(pct_change),
            median_pct_change = median(pct_change),
            sd_pct_change = sd(pct_change))
# Basic histogram summarizing it
ggplot(pct_change_ds, aes(x = pct_change)) +
  geom_histogram(binwidth = 20) + 
  xlab("% Change\n(EYB - BYB) / BYB * 100") + 
  ggtitle(label = "Percentage of Change in Endowment Balance", subtitle = "Red Line indicates 100%") +
  theme_classic() + 
  geom_vline(xintercept = 100, color = "maroon", linetype = "dotted")

## Histogram with cutoff of 200%
ggplot(pct_change_ds, aes(x = pct_change)) +
  geom_histogram(binwidth = 5) + 
  xlab("% Change\n(EYB - BYB) / BYB * 100") + 
  xlim(-100, 200) + 
  ggtitle(label = "Percentage of Change in Endowment Balance") +
  theme_classic()

pct_change_ds %>%
  filter(pct_change != Inf) %>%
  select(organization_name, fiscal_year, pct_change) %>%
  make_table(title = "Percentage of Change in Endowment Balance", col_names = c("Name", "Fiscal Year", "% Change")) %>%
  scroll_box(height = "450px")
Percentage of Change in Endowment Balance
Name Fiscal Year % Change
Joffrey Ballet 2015 3091.4016854
Fort Wayne Ballet 2014 1897.2429619
First State Ballet Theatre 2012 1448.0762683
Ballet Arizona 2016 586.1374894
Orlando Ballet 2017 552.8554949
Ballet Arizona 2015 493.1015099
Ballet Hispanico 2021 432.1555786
Nashville Ballet 2011 288.7391599
First State Ballet Theatre 2020 242.6848638
Milwaukee Ballet 2011 212.5546600
Atlanta Ballet 2017 207.7002614
Orlando Ballet 2018 206.9063832
Nashville Ballet 2016 206.2101382
Grand Rapids Ballet 2015 186.0427033
Richmond Ballet 2016 178.0161483
Charlotte Ballet 2013 171.7520288
Joffrey Ballet 2019 146.9046722
Texas Ballet Theater 2015 133.5240000
The Charleston Ballet 2013 132.1823138
Dayton Ballet 2018 118.1185754
Ballet Austin 2013 111.9610260
Miami City Ballet 2021 103.3796951
Ballet Memphis 2018 100.3575811
Ballet Memphis 2012 94.1089954
Joffrey Ballet 2020 90.8216917
Ballet Austin 2017 90.2783217
Texas Ballet Theater 2018 85.8401625
BalletMet 2018 85.0249761
Atlanta Ballet 2016 81.8387443
The Tallahassee Ballet 2011 74.5093458
First State Ballet Theatre 2019 69.9900000
Richmond Ballet 2018 57.4030070
Ballet Hispanico 2014 54.7692390
First State Ballet Theatre 2016 53.2556470
American Repertory Ballet 2014 51.6506759
Atlanta Ballet 2012 47.7865882
Dayton Ballet 2019 47.3628143
Ballet Des Moines 2018 40.4800000
Richmond Ballet 2020 39.8449675
The Sarasota Ballet 2016 36.6266667
Boston Ballet 2014 36.2295633
Eugene Ballet 2021 35.3676599
The Tallahassee Ballet 2014 35.2860183
Richmond Ballet 2019 34.8263002
American Repertory Ballet 2013 34.4003625
First State Ballet Theatre 2017 32.2270270
Nashville Ballet 2013 31.9611808
Ballet Memphis 2014 29.0814635
New Mexico Ballet Company 2019 28.7289611
Aspen Santa Fe Ballet 2017 27.9853981
Richmond Ballet 2017 27.4751409
Miami City Ballet 2018 26.9869980
Ballet Memphis 2017 26.3332143
BalletMet 2014 25.3577272
Kansas City Ballet 2011 23.4046965
BalletMet 2019 22.9766213
Ballet Memphis 2011 21.9748193
Joffrey Ballet 2016 20.8230683
Kansas City Ballet 2012 20.7916223
The Charleston Ballet 2011 20.3422772
Pittsburgh Ballet Theatre 2021 20.2563462
Joffrey Ballet 2018 20.1054139
Charlotte Ballet 2014 19.2067643
The Washington Ballet 2011 19.0694795
San Francisco Ballet 2017 18.7877861
Nashville Ballet 2017 18.7510970
Pittsburgh Ballet Theatre 2014 18.4707163
Pacific Northwest Ballet 2011 17.1031688
Alvin Ailey American Dance Theater 2011 16.9142437
San Francisco Ballet 2013 16.9015314
The Washington Ballet 2014 16.5357705
Grand Rapids Ballet 2020 16.5116257
Dayton Ballet 2017 16.4112620
Houston Ballet 2011 16.4010185
New York City Ballet 2018 16.3644199
Joffrey Ballet 2017 15.8506700
Houston Ballet 2017 15.6387481
Houston Ballet 2014 15.6082029
Oregon Ballet Theatre 2013 15.5103905
Tulsa Ballet 2018 15.3823425
Boston Ballet 2018 15.2551406
Aspen Santa Fe Ballet 2016 15.1095158
Alvin Ailey American Dance Theater 2014 15.0948805
Ballet Arizona 2017 15.0358519
Pacific Northwest Ballet 2017 15.0137712
American Ballet Theatre 2017 14.9425672
The Charleston Ballet 2014 14.9236822
Kansas City Ballet 2015 14.6091861
Tulsa Ballet 2015 14.4923885
San Francisco Ballet 2014 14.4355515
Kansas City Ballet 2019 14.2884428
Charlotte Ballet 2011 14.2224810
Tulsa Ballet 2019 14.0998602
Kansas City Ballet 2013 13.9762729
Orlando Ballet 2019 13.8649901
Kansas City Ballet 2014 13.8566871
Atlanta Ballet 2018 13.6920172
Pittsburgh Ballet Theatre 2018 13.4902430
Houston Ballet 2013 13.3539124
Pittsburgh Ballet Theatre 2011 13.3538665
Tulsa Ballet 2011 13.2967451
Alvin Ailey American Dance Theater 2013 13.2026403
New York City Ballet 2017 13.0492346
Tulsa Ballet 2017 12.8725445
American Ballet Theatre 2019 12.8340039
The Tallahassee Ballet 2015 12.7775722
The Washington Ballet 2013 12.7552838
Milwaukee Ballet 2014 12.4200913
New York City Ballet 2014 12.3479692
Tulsa Ballet 2013 11.7754847
Madison Ballet 2014 11.6614781
Alvin Ailey American Dance Theater 2017 11.5365116
Alvin Ailey American Dance Theater 2012 11.3682085
Atlanta Ballet 2015 11.3598829
Grand Rapids Ballet 2019 11.2809947
Richmond Ballet 2014 10.9079435
The Charleston Ballet 2017 10.7069912
The Tallahassee Ballet 2013 10.4979253
Boston Ballet 2011 10.3925842
Charlotte Ballet 2017 10.3333680
New York City Ballet 2011 10.0181422
Pacific Northwest Ballet 2013 9.8291806
Boston Ballet 2017 9.7115934
American Ballet Theatre 2013 9.5641764
Fort Wayne Ballet 2016 9.5012117
Charlotte Ballet 2015 9.1252970
Ballet Austin 2020 8.9689362
American Ballet Theatre 2020 8.9365465
Nevada Ballet Theatre 2011 8.9183455
Ballet Austin 2014 8.7657433
Milwaukee Ballet 2017 8.6823347
Ballet West 2015 8.5436426
Charlotte Ballet 2016 8.5301897
Milwaukee Ballet 2013 8.4440836
Madison Ballet 2017 8.2709975
Ballet West 2020 8.0887426
New York City Ballet 2013 8.0655265
Charlotte Ballet 2018 8.0057600
American Ballet Theatre 2012 7.9849386
Boston Ballet 2019 7.8186556
Pacific Northwest Ballet 2014 7.7515053
The Charleston Ballet 2018 7.7078009
Kansas City Ballet 2017 7.6710943
Miami City Ballet 2017 7.4251152
Ballet Hispanico 2011 7.4065897
Tulsa Ballet 2020 7.2630153
Pittsburgh Ballet Theatre 2017 7.1356111
Aspen Santa Fe Ballet 2012 7.0179265
Boston Ballet 2020 6.8383787
Grand Rapids Ballet 2017 6.7800620
Madison Ballet 2011 6.7615068
Pennsylvania Ballet 2011 6.6593049
The Tallahassee Ballet 2017 6.6393657
Boston Ballet 2016 6.4755945
The Sarasota Ballet 2017 6.4328584
New Mexico Ballet Company 2018 6.3933881
Madison Ballet 2013 6.3250010
Ballet Des Moines 2019 6.2713554
Miami City Ballet 2014 6.2446692
Oregon Ballet Theatre 2015 6.1461577
Pacific Northwest Ballet 2018 6.0970879
Oregon Ballet Theatre 2014 6.0199280
Fort Wayne Ballet 2015 5.9063870
Aspen Santa Fe Ballet 2011 5.8574809
Pittsburgh Ballet Theatre 2013 5.8355538
Grand Rapids Ballet 2018 5.6995093
The Sarasota Ballet 2020 5.3797096
Nashville Ballet 2014 5.3783928
Milwaukee Ballet 2018 5.3251625
Pacific Northwest Ballet 2020 5.2552006
Tulsa Ballet 2016 5.1996153
Madison Ballet 2018 5.1952964
Ballet Memphis 2013 5.1619171
San Francisco Ballet 2018 5.0127410
Grand Rapids Ballet 2014 4.9689028
Ballet Hispanico 2017 4.8257031
Tulsa Ballet 2014 4.7509696
Ballet Austin 2018 4.6407201
Miami City Ballet 2013 4.5466778
Aspen Santa Fe Ballet 2013 4.4768989
Oregon Ballet Theatre 2019 4.1823644
Ballet Hispanico 2013 4.1596925
American Ballet Theatre 2015 3.9081263
Richmond Ballet 2015 3.7696127
Pennsylvania Ballet 2014 3.5578845
Alvin Ailey American Dance Theater 2019 3.5551869
Houston Ballet 2018 3.5239698
The Tallahassee Ballet 2019 3.4501860
Oregon Ballet Theatre 2017 3.4233093
The Tallahassee Ballet 2018 3.2518997
Ballet Quad Cities 2017 3.2100411
Nashville Ballet 2018 3.1497842
Boston Ballet 2013 3.0250379
Houston Ballet 2019 3.0126539
Richmond Ballet 2013 2.9551103
Ballet West 2016 2.9479559
Grand Rapids Ballet 2011 2.9305635
Pennsylvania Ballet 2017 2.7458153
Ballet Austin 2019 2.7039028
Alvin Ailey American Dance Theater 2018 2.6520142
Oregon Ballet Theatre 2016 2.6351387
Pacific Northwest Ballet 2019 2.5299841
Ballet West 2019 2.5020351
Ballet Austin 2012 2.3668865
Ballet Austin 2015 2.0739029
Ballet West 2014 2.0511082
Eugene Ballet 2020 2.0266667
Alvin Ailey American Dance Theater 2015 2.0168085
Oregon Ballet Theatre 2020 1.9913020
Grand Rapids Ballet 2013 1.7112000
Oregon Ballet Theatre 2021 1.5619387
The Alabama Ballet 2017 1.5438912
Ballet Hispanico 2019 1.5405288
Nevada Ballet Theatre 2013 1.3945270
Nashville Ballet 2015 1.3707995
Kansas City Ballet 2016 1.3182366
Miami City Ballet 2019 1.1650569
Alvin Ailey American Dance Theater 2020 1.1173579
Boston Ballet 2012 1.1171575
San Francisco Ballet 2015 1.1010216
Madison Ballet 2020 1.0503166
Ballet Arizona 2014 0.9960259
Pennsylvania Ballet 2020 0.9848159
Nevada Ballet Theatre 2018 0.9818432
Fort Wayne Ballet 2017 0.9437819
Pennsylvania Ballet 2018 0.8212002
BalletMet 2011 0.8065975
Pittsburgh Ballet Theatre 2019 0.7669528
Colorado Ballet 2011 0.6399047
Nashville Ballet 2020 0.6340668
Pacific Northwest Ballet 2015 0.6277229
The Alabama Ballet 2020 0.5951924
Texas Ballet Theater 2019 0.5813097
Texas Ballet Theater 2020 0.5742863
Colorado Ballet 2015 0.5500000
Fort Wayne Ballet 2019 0.4949803
Ballet Hispanico 2018 0.4786320
American Ballet Theatre 2010 0.3281092
Milwaukee Ballet 2015 0.2558318
Ballet Quad Cities 2018 0.2475248
New Mexico Ballet Company 2020 0.2184921
Oregon Ballet Theatre 2018 0.1654999
Ballet Hispanico 2016 0.1309318
New York City Ballet 2019 0.0809932
Texas Ballet Theater 2017 0.0285424
BalletMet 2012 0.0266534
Texas Ballet Theater 2016 0.0199837
Dance Theatre of Harlem 2011 0.0000000
Dance Theatre of Harlem 2012 0.0000000
Dance Theatre of Harlem 2013 0.0000000
Dance Theatre of Harlem 2014 0.0000000
Dance Theatre of Harlem 2015 0.0000000
Dance Theatre of Harlem 2016 0.0000000
Dance Theatre of Harlem 2017 0.0000000
Dance Theatre of Harlem 2018 0.0000000
Dance Theatre of Harlem 2019 0.0000000
Dance Theatre of Harlem 2020 0.0000000
American Repertory Ballet 2012 0.0000000
American Repertory Ballet 2015 0.0000000
American Repertory Ballet 2016 0.0000000
American Repertory Ballet 2017 0.0000000
BalletMet 2013 0.0000000
BalletMet 2015 0.0000000
BalletMet 2016 0.0000000
BalletMet 2017 0.0000000
BalletMet 2020 0.0000000
Fort Wayne Ballet 2013 0.0000000
The Washington Ballet 2018 0.0000000
The Washington Ballet 2020 0.0000000
The Alabama Ballet 2012 0.0000000
The Alabama Ballet 2013 0.0000000
The Alabama Ballet 2014 0.0000000
The Alabama Ballet 2015 0.0000000
The Sarasota Ballet 2014 0.0000000
The Sarasota Ballet 2015 0.0000000
Aspen Santa Fe Ballet 2014 0.0000000
Aspen Santa Fe Ballet 2019 0.0000000
Aspen Santa Fe Ballet 2020 0.0000000
Texas Ballet Theater 2011 0.0000000
Texas Ballet Theater 2012 0.0000000
Texas Ballet Theater 2013 0.0000000
Texas Ballet Theater 2014 0.0000000
Colorado Ballet 2013 0.0000000
Colorado Ballet 2014 0.0000000
Ballet Arizona 2011 0.0000000
Ballet Arizona 2012 0.0000000
Ballet Arizona 2013 0.0000000
Ballet West 2011 0.0000000
Eugene Ballet 2012 0.0000000
Eugene Ballet 2013 0.0000000
Eugene Ballet 2014 0.0000000
Eugene Ballet 2015 0.0000000
Eugene Ballet 2016 0.0000000
Eugene Ballet 2017 0.0000000
Eugene Ballet 2018 0.0000000
Eugene Ballet 2019 0.0000000
American Ballet Theatre 2011 -0.0293976
Boston Ballet 2015 -0.0388779
Nevada Ballet Theatre 2020 -0.0958192
Milwaukee Ballet 2019 -0.2192253
Ballet Hispanico 2020 -0.2921837
Ballet Arizona 2018 -0.2958794
The Washington Ballet 2015 -0.3307636
Nevada Ballet Theatre 2015 -0.4171208
San Francisco Ballet 2019 -0.4505953
Houston Ballet 2020 -0.5394078
Aspen Santa Fe Ballet 2015 -0.6154796
Madison Ballet 2019 -0.6341596
Pennsylvania Ballet 2019 -0.6773370
Nevada Ballet Theatre 2016 -0.7510343
Fort Wayne Ballet 2018 -0.8065878
Nevada Ballet Theatre 2021 -0.8682968
Houston Ballet 2015 -0.9290425
Ballet West 2012 -0.9379652
American Ballet Theatre 2016 -0.9486236
Nevada Ballet Theatre 2019 -0.9524021
Ballet West 2018 -1.0492992
New York City Ballet 2015 -1.0935295
Charlotte Ballet 2019 -1.1038242
Nevada Ballet Theatre 2017 -1.1116605
Milwaukee Ballet 2016 -1.1445611
Pennsylvania Ballet 2012 -1.1858787
Ballet Hispanico 2015 -1.2189376
Ballet West 2013 -1.2456707
Nevada Ballet Theatre 2012 -1.2797833
Ballet Arizona 2019 -1.3078878
Ballet Arizona 2020 -1.3712710
Madison Ballet 2012 -1.3999721
Ballet Quad Cities 2019 -1.4598540
The Charleston Ballet 2016 -1.5786659
Madison Ballet 2016 -1.6090293
Fort Wayne Ballet 2020 -1.6147683
Grand Rapids Ballet 2012 -1.6979640
Dayton Ballet 2016 -1.9120081
Miami City Ballet 2015 -1.9267945
Pennsylvania Ballet 2015 -2.1126469
Nashville Ballet 2012 -2.2699618
Pacific Northwest Ballet 2012 -2.5481783
Milwaukee Ballet 2012 -2.5900754
The Charleston Ballet 2015 -2.8140235
New York City Ballet 2020 -2.9450705
American Ballet Theatre 2018 -3.0002561
Nevada Ballet Theatre 2014 -3.0244949
Charlotte Ballet 2020 -3.0415463
Pittsburgh Ballet Theatre 2020 -3.0426410
The Tallahassee Ballet 2012 -3.1998929
American Ballet Theatre 2014 -3.2115030
Houston Ballet 2012 -3.3717602
Dayton Ballet 2015 -3.4304063
The Washington Ballet 2012 -3.4429070
Grand Rapids Ballet 2016 -3.4832176
Ballet West 2017 -3.5593957
Ballet Austin 2016 -3.6649665
The Alabama Ballet 2019 -3.6897295
Kansas City Ballet 2018 -3.7141912
The Tallahassee Ballet 2020 -4.1994951
Pennsylvania Ballet 2016 -4.2562307
Ballet Quad Cities 2020 -4.5315904
Tulsa Ballet 2012 -4.6514807
Miami City Ballet 2020 -4.8106966
Miami City Ballet 2016 -4.9799231
Houston Ballet 2016 -4.9809760
Ballet Hispanico 2012 -5.0486376
Ballet Memphis 2015 -5.1492312
The Tallahassee Ballet 2016 -5.8413323
The Sarasota Ballet 2018 -5.8747682
Ballet Memphis 2016 -5.9367915
Ballet Memphis 2019 -6.1694703
The Charleston Ballet 2012 -6.1998116
Charlotte Ballet 2012 -6.3328889
San Francisco Ballet 2016 -6.3667555
The Alabama Ballet 2018 -6.3829029
The Sarasota Ballet 2012 -6.7174246
The Alabama Ballet 2016 -6.8163966
Alvin Ailey American Dance Theater 2016 -7.2545116
Pacific Northwest Ballet 2016 -7.3246969
New York City Ballet 2016 -7.4654042
Madison Ballet 2015 -7.5915755
New York City Ballet 2012 -7.5962728
San Francisco Ballet 2020 -8.4597794
Pittsburgh Ballet Theatre 2015 -9.7519131
Ballet Quad Cities 2016 -9.9700000
Pittsburgh Ballet Theatre 2012 -10.4416904
Ballet Memphis 2020 -11.6985509
Pennsylvania Ballet 2013 -13.3856788
Pittsburgh Ballet Theatre 2016 -13.8628328
The Sarasota Ballet 2013 -14.6832902
The Sarasota Ballet 2011 -15.1492335
The Sarasota Ballet 2019 -15.1497071
First State Ballet Theatre 2013 -16.1358788
Atlanta Ballet 2011 -22.4396954
The Washington Ballet 2016 -25.5508697
Atlanta Ballet 2020 -28.5158513
Atlanta Ballet 2019 -36.6916144
Atlanta Ballet 2014 -38.6514489
Atlanta Ballet 2013 -42.0972020
Orlando Ballet 2016 -44.7242762
Colorado Ballet 2012 -45.1865576
The Washington Ballet 2017 -48.7379222
First State Ballet Theatre 2015 -49.5289330
The Washington Ballet 2019 -50.1144953
First State Ballet Theatre 2014 -52.9562948
San Francisco Ballet 2011 -55.3267726
First State Ballet Theatre 2018 -72.7468454
Aspen Santa Fe Ballet 2018 -90.9315940
Orlando Ballet 2020 -90.9983829
Nashville Ballet 2019 -94.4004512
San Francisco Ballet 2012 -99.9832016
pct_change_ds %>%
  filter(pct_change != Inf) %>%
  select(organization_name, fiscal_year, pct_change) %>%
  group_by(fiscal_year) %>%
  summarize(total = n(),
            avg = mean(pct_change),
            med = median(pct_change),
            sd = sd(pct_change)) %>%
  make_table(title = "Percentage of Change in Endowment Balance By Year", col_names = c("Fiscal Year", "Total Companies", "Average % Change", "Median % Change", "Standard Deviation")) %>%
  scroll_box(height = "450px")
Percentage of Change in Endowment Balance By Year
Fiscal Year Total Companies Average % Change Median % Change Standard Deviation
2010 1 0.3281092 0.3281092 NA
2011 31 23.2042543 8.9183455 64.52232
2012 36 39.5711928 -1.2328310 242.88805
2013 40 14.4544304 4.8542974 38.48890
2014 40 56.4432194 8.2586243 299.10443
2015 42 93.2322610 0.1279159 481.13003
2016 43 24.2872831 -0.7510343 98.50785
2017 43 27.5778232 8.6823347 89.08538
2018 44 15.9080630 4.8267305 46.13128
2019 43 5.6928617 1.1650569 32.37300
2020 39 7.2725415 0.2184921 44.93623
2021 6 98.6421536 27.8120030 167.76683

REMOVING investments

# Basic summary stats
pct_change_inv_ds %>%   
  filter(!is.na(pct_change) & pct_change != Inf) %>%
  summarize(avg_pct_change = mean(pct_change),
            median_pct_change = median(pct_change),
            sd_pct_change = sd(pct_change))
pct_change_inv_ds %>%   
  filter(!is.na(pct_change) & pct_change != Inf) %>%
  group_by(EIN) %>%
  summarize(avg_pct_change = mean(pct_change),
            median_pct_change = median(pct_change),
            sd_pct_change = sd(pct_change))
# Basic histogram summarizing it
ggplot(pct_change_inv_ds, aes(x = pct_change)) +
  geom_histogram(binwidth = 20) + 
  xlab("% Change\n(EYB - INV - BYB) / BYB * 100") + 
  ggtitle(label = "Percentage of Change in Endowment Balance", subtitle = "Red Line indicates 100%") +
  theme_classic() + 
  geom_vline(xintercept = 100, color = "maroon", linetype = "dotted")

## Histogram with cutoff of 200%
ggplot(pct_change_inv_ds, aes(x = pct_change)) +
  geom_histogram(binwidth = 5) + 
  xlab("% Change\n(EYB - BYB) / BYB * 100") + 
  xlim(-100, 200) + 
  ggtitle(label = "Percentage of Change in Endowment Balance") +
  theme_classic()

pct_change_inv_ds %>%
  filter(pct_change != Inf) %>%
  select(organization_name, fiscal_year, pct_change) %>%
  make_table(title = "Percentage of Change in Endowment Balance", col_names = c("Name", "Fiscal Year", "% Change")) %>%
  scroll_box(height = "450px")
Percentage of Change in Endowment Balance
Name Fiscal Year % Change
Joffrey Ballet 2015 3091.4016854
Fort Wayne Ballet 2014 1803.3224138
First State Ballet Theatre 2012 1448.0762683
Ballet Arizona 2016 586.1374894
Orlando Ballet 2017 547.7003508
Ballet Arizona 2015 493.1015099
Ballet Hispanico 2021 426.7571012
Nashville Ballet 2011 275.0123756
First State Ballet Theatre 2020 242.6848638
Orlando Ballet 2018 206.4099099
Atlanta Ballet 2017 202.3164983
Milwaukee Ballet 2011 197.6406871
Nashville Ballet 2016 187.7731485
Grand Rapids Ballet 2015 181.5004969
Richmond Ballet 2016 175.9261036
Charlotte Ballet 2013 151.2357429
Joffrey Ballet 2019 133.5419677
Texas Ballet Theater 2015 133.3333333
The Charleston Ballet 2013 118.3461667
Dayton Ballet 2018 111.2870455
Ballet Memphis 2012 99.9715525
Ballet Austin 2013 96.8010136
Ballet Memphis 2018 95.9769923
Joffrey Ballet 2020 86.1363009
Texas Ballet Theater 2018 85.6027576
BalletMet 2018 85.0249761
Atlanta Ballet 2016 76.1344084
Ballet Austin 2017 72.1291716
First State Ballet Theatre 2019 69.9900000
Miami City Ballet 2021 65.4636289
The Tallahassee Ballet 2011 56.0747664
First State Ballet Theatre 2016 53.2556470
American Repertory Ballet 2014 51.6506759
Richmond Ballet 2018 51.2753402
Atlanta Ballet 2012 47.9686134
Dayton Ballet 2019 45.1776417
Richmond Ballet 2020 43.9335422
Ballet Hispanico 2014 41.4922805
The Sarasota Ballet 2016 37.6855000
American Repertory Ballet 2013 34.4003625
First State Ballet Theatre 2017 32.2270270
Aspen Santa Fe Ballet 2017 27.9853981
Richmond Ballet 2019 26.8630003
Ballet Des Moines 2018 25.2500000
Joffrey Ballet 2016 24.4935699
BalletMet 2014 23.5425782
BalletMet 2019 22.9766213
Richmond Ballet 2017 22.7958845
Kansas City Ballet 2012 21.4853681
New Mexico Ballet Company 2019 21.2777356
Miami City Ballet 2018 20.0147230
Ballet Memphis 2014 19.3704481
Boston Ballet 2014 18.6852707
Nashville Ballet 2013 18.4613232
The Tallahassee Ballet 2014 18.0748529
Ballet Memphis 2017 16.5882353
The Tallahassee Ballet 2015 15.7290896
Oregon Ballet Theatre 2013 15.5103905
Aspen Santa Fe Ballet 2016 15.1095158
Ballet Arizona 2017 14.7588808
Alvin Ailey American Dance Theater 2012 14.0819093
Orlando Ballet 2019 13.7276516
Atlanta Ballet 2018 13.6920172
Joffrey Ballet 2018 12.3866961
Kansas City Ballet 2015 11.1856574
Tulsa Ballet 2019 10.7046483
Grand Rapids Ballet 2020 9.8477067
Nashville Ballet 2017 9.1265125
Nevada Ballet Theatre 2011 8.6980699
Charlotte Ballet 2015 8.3421522
Kansas City Ballet 2019 8.0361126
Kansas City Ballet 2011 7.7310912
Tulsa Ballet 2015 7.5126681
New York City Ballet 2018 7.4146906
Boston Ballet 2018 7.1601338
Tulsa Ballet 2018 7.0862626
Aspen Santa Fe Ballet 2012 7.0179265
San Francisco Ballet 2017 6.9661016
Pittsburgh Ballet Theatre 2018 6.5959063
Alvin Ailey American Dance Theater 2011 6.4956757
Grand Rapids Ballet 2019 6.4258755
Joffrey Ballet 2017 6.3995664
Charlotte Ballet 2016 6.2270094
Oregon Ballet Theatre 2015 6.1461577
Oregon Ballet Theatre 2014 6.0199280
Dayton Ballet 2017 5.9289833
Aspen Santa Fe Ballet 2011 5.8574809
Boston Ballet 2016 5.7408098
Charlotte Ballet 2014 5.3302887
Aspen Santa Fe Ballet 2013 4.4768989
Pacific Northwest Ballet 2020 4.3953178
American Ballet Theatre 2018 4.2860828
Oregon Ballet Theatre 2019 4.1823644
Tulsa Ballet 2016 4.0916360
Kansas City Ballet 2013 4.0820691
Tulsa Ballet 2017 3.7063554
Oregon Ballet Theatre 2017 3.4233093
Pittsburgh Ballet Theatre 2014 3.4148461
Alvin Ailey American Dance Theater 2013 3.0321922
Fort Wayne Ballet 2016 2.9551339
Kansas City Ballet 2016 2.9492075
Richmond Ballet 2015 2.8246016
Oregon Ballet Theatre 2016 2.6351387
Ballet Austin 2012 2.5771368
Oregon Ballet Theatre 2020 1.9913020
Ballet Austin 2020 1.8896472
Pacific Northwest Ballet 2017 1.8850513
Boston Ballet 2019 1.6442499
Oregon Ballet Theatre 2021 1.5619387
Boston Ballet 2020 1.5323016
American Ballet Theatre 2015 1.5318917
Ballet Arizona 2014 0.9960259
Charlotte Ballet 2017 0.9806814
Ballet Des Moines 2019 0.8898064
BalletMet 2011 0.8065975
Atlanta Ballet 2015 0.5635573
Houston Ballet 2017 0.2170576
Oregon Ballet Theatre 2018 0.1654999
Eugene Ballet 2020 0.0688889
San Francisco Ballet 2015 0.0255516
Nevada Ballet Theatre 2018 0.0132329
Dance Theatre of Harlem 2011 0.0000000
Dance Theatre of Harlem 2012 0.0000000
Dance Theatre of Harlem 2013 0.0000000
Dance Theatre of Harlem 2014 0.0000000
Dance Theatre of Harlem 2015 0.0000000
Dance Theatre of Harlem 2019 0.0000000
Dance Theatre of Harlem 2020 0.0000000
American Repertory Ballet 2012 0.0000000
American Repertory Ballet 2015 0.0000000
American Repertory Ballet 2016 0.0000000
American Repertory Ballet 2017 0.0000000
BalletMet 2015 0.0000000
BalletMet 2016 0.0000000
BalletMet 2017 0.0000000
BalletMet 2020 0.0000000
Fort Wayne Ballet 2015 0.0000000
Grand Rapids Ballet 2014 0.0000000
Nashville Ballet 2020 0.0000000
Miami City Ballet 2014 0.0000000
The Alabama Ballet 2012 0.0000000
The Alabama Ballet 2013 0.0000000
The Alabama Ballet 2014 0.0000000
The Alabama Ballet 2015 0.0000000
The Sarasota Ballet 2011 0.0000000
The Sarasota Ballet 2017 0.0000000
Aspen Santa Fe Ballet 2014 0.0000000
Aspen Santa Fe Ballet 2019 0.0000000
Aspen Santa Fe Ballet 2020 0.0000000
Texas Ballet Theater 2016 0.0000000
Texas Ballet Theater 2017 0.0000000
Texas Ballet Theater 2019 0.0000000
Texas Ballet Theater 2020 0.0000000
Colorado Ballet 2011 0.0000000
Ballet Arizona 2011 0.0000000
Ballet Arizona 2012 0.0000000
Ballet Arizona 2013 0.0000000
Ballet West 2011 0.0000000
Ballet West 2012 0.0000000
Ballet West 2013 0.0000000
Ballet West 2014 0.0000000
Ballet West 2015 0.0000000
Ballet West 2016 0.0000000
Ballet West 2017 0.0000000
Ballet West 2018 0.0000000
Ballet West 2019 0.0000000
Ballet West 2020 0.0000000
Eugene Ballet 2012 0.0000000
Eugene Ballet 2013 0.0000000
Eugene Ballet 2014 0.0000000
Eugene Ballet 2015 0.0000000
Eugene Ballet 2016 0.0000000
Eugene Ballet 2017 0.0000000
Eugene Ballet 2018 0.0000000
Eugene Ballet 2019 0.0000000
Nevada Ballet Theatre 2013 0.0000000
Dance Theatre of Harlem 2016 -0.0388002
Dance Theatre of Harlem 2017 -0.0388002
Dance Theatre of Harlem 2018 -0.0388002
Alvin Ailey American Dance Theater 2014 -0.0392102
Texas Ballet Theater 2011 -0.0493333
Charlotte Ballet 2018 -0.0581914
Texas Ballet Theater 2013 -0.0666667
Grand Rapids Ballet 2013 -0.0876163
Texas Ballet Theater 2014 -0.1000000
Texas Ballet Theater 2012 -0.1453333
New York City Ballet 2016 -0.1864872
San Francisco Ballet 2018 -0.1940437
Colorado Ballet 2014 -0.2510000
Colorado Ballet 2015 -0.2520000
Alvin Ailey American Dance Theater 2015 -0.2569099
BalletMet 2012 -0.3331681
Colorado Ballet 2013 -0.3810000
The Sarasota Ballet 2020 -0.4168927
Alvin Ailey American Dance Theater 2016 -0.4368254
Nashville Ballet 2012 -0.4551243
Ballet Austin 2014 -0.4603608
Alvin Ailey American Dance Theater 2017 -0.4696754
Ballet Hispanico 2016 -0.5203856
Pacific Northwest Ballet 2015 -0.5908373
Aspen Santa Fe Ballet 2015 -0.6154796
Pacific Northwest Ballet 2012 -0.6598631
Ballet Arizona 2020 -0.6848327
Nashville Ballet 2015 -0.6853998
New Mexico Ballet Company 2018 -0.7077376
Kansas City Ballet 2014 -0.8280620
Miami City Ballet 2020 -0.9255126
Pacific Northwest Ballet 2013 -0.9444040
The Charleston Ballet 2016 -0.9866662
San Francisco Ballet 2014 -0.9910720
The Charleston Ballet 2012 -1.0318066
Eugene Ballet 2021 -1.0345879
New Mexico Ballet Company 2020 -1.0439065
The Charleston Ballet 2017 -1.0549591
Nevada Ballet Theatre 2021 -1.0575507
The Washington Ballet 2020 -1.0929032
The Charleston Ballet 2018 -1.1136875
Dayton Ballet 2016 -1.1467761
The Charleston Ballet 2014 -1.2317960
Grand Rapids Ballet 2012 -1.3028661
Miami City Ballet 2016 -1.3238250
Nevada Ballet Theatre 2017 -1.3727029
Nevada Ballet Theatre 2015 -1.3742294
Nevada Ballet Theatre 2012 -1.4376258
Miami City Ballet 2017 -1.4499121
Nevada Ballet Theatre 2016 -1.4829021
The Washington Ballet 2018 -1.4873926
American Ballet Theatre 2011 -1.5314013
The Charleston Ballet 2011 -1.5332290
Pacific Northwest Ballet 2018 -1.5533495
Boston Ballet 2015 -1.6149354
The Tallahassee Ballet 2016 -1.6490278
The Tallahassee Ballet 2020 -1.7058059
Tulsa Ballet 2020 -1.7067692
Nevada Ballet Theatre 2020 -1.7139215
The Tallahassee Ballet 2019 -1.7488328
The Tallahassee Ballet 2018 -1.8057031
The Tallahassee Ballet 2017 -1.8123203
New York City Ballet 2015 -1.8130845
The Sarasota Ballet 2012 -1.8569979
Milwaukee Ballet 2015 -1.9311545
Tulsa Ballet 2011 -1.9614773
New York City Ballet 2017 -1.9751171
Milwaukee Ballet 2018 -2.0100044
Milwaukee Ballet 2016 -2.0435436
Milwaukee Ballet 2014 -2.1177693
Milwaukee Ballet 2017 -2.1349908
The Tallahassee Ballet 2012 -2.1823537
Ballet Austin 2019 -2.2380197
Nevada Ballet Theatre 2019 -2.2385659
Houston Ballet 2012 -2.2434479
Nashville Ballet 2018 -2.2783590
Grand Rapids Ballet 2011 -2.3220564
Houston Ballet 2015 -2.3336650
The Tallahassee Ballet 2013 -2.4204703
Milwaukee Ballet 2012 -2.4277671
Milwaukee Ballet 2013 -2.4289560
Ballet Arizona 2018 -2.4510904
Alvin Ailey American Dance Theater 2019 -2.4754845
Houston Ballet 2019 -2.4811062
Pacific Northwest Ballet 2011 -2.4913273
Pacific Northwest Ballet 2019 -2.5450559
Ballet Austin 2015 -2.5456829
Ballet Austin 2018 -2.5948054
Fort Wayne Ballet 2013 -2.6191910
American Ballet Theatre 2020 -2.6235825
American Ballet Theatre 2017 -2.6279486
Ballet Memphis 2013 -2.6974641
BalletMet 2013 -2.8122552
San Francisco Ballet 2013 -2.9086447
Grand Rapids Ballet 2016 -2.9294626
Milwaukee Ballet 2019 -2.9985679
Boston Ballet 2017 -3.0275416
Madison Ballet 2013 -3.0421945
New York City Ballet 2019 -3.0471032
Tulsa Ballet 2012 -3.0603148
Madison Ballet 2011 -3.0784277
Pittsburgh Ballet Theatre 2019 -3.0837881
Alvin Ailey American Dance Theater 2018 -3.1458141
Houston Ballet 2016 -3.1799179
Ballet Austin 2016 -3.1962055
Ballet Hispanico 2015 -3.2768327
Boston Ballet 2012 -3.3201972
Boston Ballet 2011 -3.3370689
Pennsylvania Ballet 2011 -3.3399761
Madison Ballet 2014 -3.3480506
The Charleston Ballet 2015 -3.3875824
Ballet Hispanico 2017 -3.4496830
Houston Ballet 2013 -3.4766281
Fort Wayne Ballet 2018 -3.4861746
Charlotte Ballet 2012 -3.5101847
The Alabama Ballet 2020 -3.5193077
New York City Ballet 2020 -3.5223075
Ballet Hispanico 2019 -3.5388308
Pennsylvania Ballet 2012 -3.5450717
Houston Ballet 2014 -3.5722904
Ballet Hispanico 2020 -3.6378284
American Ballet Theatre 2012 -3.6951598
Ballet Memphis 2015 -3.7093455
New York City Ballet 2014 -3.7144943
Ballet Memphis 2016 -3.7888700
Miami City Ballet 2019 -3.7915315
Ballet Memphis 2020 -3.8335615
Tulsa Ballet 2013 -3.8622251
The Alabama Ballet 2019 -3.8811799
Pennsylvania Ballet 2018 -3.8912045
Pennsylvania Ballet 2020 -3.8933190
Pennsylvania Ballet 2019 -3.9757122
Miami City Ballet 2013 -3.9944003
Ballet Memphis 2011 -4.0000000
Pennsylvania Ballet 2017 -4.0018391
Houston Ballet 2020 -4.0352545
American Ballet Theatre 2013 -4.0480433
Nevada Ballet Theatre 2014 -4.0666759
New York City Ballet 2013 -4.0786837
Fort Wayne Ballet 2017 -4.0886842
Alvin Ailey American Dance Theater 2020 -4.1243918
Nashville Ballet 2014 -4.1521909
Ballet Memphis 2019 -4.2013624
Charlotte Ballet 2019 -4.2365488
Pennsylvania Ballet 2015 -4.2590021
Pennsylvania Ballet 2014 -4.3330553
American Ballet Theatre 2016 -4.3796387
Kansas City Ballet 2017 -4.3897199
New York City Ballet 2012 -4.4115201
Houston Ballet 2018 -4.5670291
Ballet Arizona 2019 -4.5855094
Charlotte Ballet 2020 -4.6291277
San Francisco Ballet 2016 -4.6507528
Madison Ballet 2012 -4.6665736
Pittsburgh Ballet Theatre 2021 -4.7030709
Miami City Ballet 2015 -4.7185994
Pacific Northwest Ballet 2014 -4.7609735
Madison Ballet 2020 -4.7836803
Ballet Hispanico 2012 -4.7885406
Grand Rapids Ballet 2017 -4.7948908
Richmond Ballet 2013 -4.8793429
Pittsburgh Ballet Theatre 2020 -4.9093733
Dayton Ballet 2015 -4.9439121
Pacific Northwest Ballet 2016 -4.9507177
Richmond Ballet 2014 -4.9885620
The Alabama Ballet 2016 -4.9986909
The Alabama Ballet 2017 -4.9999255
Fort Wayne Ballet 2019 -5.0348542
Madison Ballet 2019 -5.0381831
Ballet Hispanico 2013 -5.0552449
Fort Wayne Ballet 2020 -5.0721240
Boston Ballet 2013 -5.1204623
Grand Rapids Ballet 2018 -5.1685752
The Washington Ballet 2011 -5.1983475
Ballet Hispanico 2011 -5.2603795
San Francisco Ballet 2019 -5.3065465
Charlotte Ballet 2011 -5.3581636
The Washington Ballet 2012 -5.3849301
Madison Ballet 2015 -5.4760787
Madison Ballet 2018 -5.4791930
Pennsylvania Ballet 2016 -5.4872448
Ballet Quad Cities 2020 -5.6644880
New York City Ballet 2011 -5.6655590
The Washington Ballet 2013 -5.6774923
The Washington Ballet 2014 -5.8525690
Madison Ballet 2016 -5.9477868
Madison Ballet 2017 -5.9572663
The Washington Ballet 2015 -5.9827004
Ballet Hispanico 2018 -6.1313369
Pittsburgh Ballet Theatre 2012 -6.1547435
Houston Ballet 2011 -6.2005177
Pittsburgh Ballet Theatre 2017 -6.5527789
Pittsburgh Ballet Theatre 2011 -6.5693406
Ballet Quad Cities 2019 -6.7947617
American Ballet Theatre 2019 -6.8846524
Ballet Quad Cities 2018 -6.9091692
Ballet Quad Cities 2017 -7.0532045
Pittsburgh Ballet Theatre 2013 -7.2217715
American Ballet Theatre 2010 -7.3374978
Tulsa Ballet 2014 -7.7686509
The Sarasota Ballet 2015 -8.0136667
Ballet Quad Cities 2016 -8.1500000
San Francisco Ballet 2020 -8.8273535
Pittsburgh Ballet Theatre 2015 -9.0623160
The Alabama Ballet 2018 -9.3608502
The Sarasota Ballet 2018 -9.5170855
Pittsburgh Ballet Theatre 2016 -9.6760767
The Sarasota Ballet 2014 -10.0118333
American Ballet Theatre 2014 -10.1384374
Kansas City Ballet 2018 -10.8708252
The Sarasota Ballet 2013 -14.6832902
First State Ballet Theatre 2013 -16.1358788
The Sarasota Ballet 2019 -19.1999386
Pennsylvania Ballet 2013 -23.4542637
The Washington Ballet 2016 -26.9924442
Atlanta Ballet 2020 -32.3489884
Atlanta Ballet 2011 -33.2349745
Atlanta Ballet 2019 -38.7833870
Atlanta Ballet 2014 -43.5400727
Orlando Ballet 2016 -44.3305946
Atlanta Ballet 2013 -44.6403251
Colorado Ballet 2012 -45.6020434
First State Ballet Theatre 2015 -49.5289330
The Washington Ballet 2019 -51.9275920
First State Ballet Theatre 2014 -52.9562948
The Washington Ballet 2017 -57.6457603
San Francisco Ballet 2011 -58.6702757
First State Ballet Theatre 2018 -72.7468454
Aspen Santa Fe Ballet 2018 -90.9315940
Orlando Ballet 2020 -91.0428942
Nashville Ballet 2019 -94.2002001
San Francisco Ballet 2012 -101.4981454
pct_change_inv_ds %>%
  filter(pct_change != Inf) %>%
  select(organization_name, fiscal_year, pct_change) %>%
  group_by(fiscal_year) %>%
  summarize(total = n(),
            avg = mean(pct_change),
            med = median(pct_change),
            sd = sd(pct_change)) %>%
  make_table(title = "Percentage of Change in Endowment Balance By Year", col_names = c("Fiscal Year", "Total Companies", "Average % Change", "Median % Change", "Standard Deviation")) %>%
  scroll_box(height = "450px")
Percentage of Change in Endowment Balance By Year
Fiscal Year Total Companies Average % Change Median % Change Standard Deviation
2010 1 -7.337498 -7.3374978 NA
2011 31 13.177900 -1.5332290 62.57769
2012 36 39.929583 -1.1673363 242.90708
2013 40 6.990231 -2.4247131 35.59458
2014 40 45.566905 -0.1755000 285.55540
2015 42 91.353000 -0.2544549 481.44766
2016 43 24.154434 -0.4368254 97.43600
2017 43 19.912496 0.0000000 89.40665
2018 44 11.162350 -0.4508906 46.15232
2019 43 1.888381 -2.4754845 31.06880
2020 39 5.044147 -1.0929032 45.02615
2021 6 81.164577 0.2636754 171.41046

Range of Endowment Percent Change

WITH investments

## Ranges of different percent change  
# Reordering by standard deviation of pct_spend down
pct_change_ds_box <- pct_change_ds %>%
  group_by(organization_name) %>%
  filter(pct_change != Inf) %>%
  summarize(sd = sd(pct_change, na.rm = TRUE)) %>%
  right_join(pct_change_ds, by = "organization_name") %>%
  select(organization_name, EIN, pct_change, sd) %>%
  mutate(organization_name = reorder(organization_name, -sd, na.rm = TRUE))

## Unlimited 
box_plot <- ggplot(pct_change_ds_box, aes(x = organization_name, y = pct_change)) + 
  geom_boxplot(aes(color = organization_name), show.legend = FALSE) + 
  geom_point(size = 1, alpha = 0.5) + 
  theme_bw() + 
  labs(title = "Range of Endowment Percent Change per Company",
       x = "Dance Company",
       y = "Percentage of Change in Endowment Balance") + 
  theme(axis.text.x = element_blank()) + 
  geom_hline(yintercept = 100, linetype = "dotted", color = "maroon")
ggplotly(box_plot) %>%
  layout(showlegend = FALSE)
##Limited to 100 for visibility 
box_plot_lim <- ggplot(pct_change_ds_box, aes(x = organization_name, y = pct_change)) + 
  geom_boxplot(aes(color = organization_name), show.legend = FALSE) + 
  geom_point(size = 1, alpha = 0.5) + 
  theme_bw() + 
  labs(title = "Range of Endowment % Change (Max of 100) per Company",
       x = "Dance Company",
       y = "Percentage of Change in Endowment Balance") + 
  theme(axis.text.x = element_blank()) + 
  scale_y_continuous(breaks = scales::breaks_pretty(n = 20),
                     limit = c(-100,100))
ggplotly(box_plot_lim)  %>%
  layout(showlegend = FALSE)

WITHOUT investments

## Ranges of different percent change  
# reorder(organization_name, pull(summarize(spend_down, sd = sd(group_by(spend_down, pct_change)))), na.rm = TRUE)
# Reordering by standard deviation of pct_spend down
pct_change_inv_box <- pct_change_inv_ds %>%
  group_by(organization_name) %>%
  filter(pct_change != Inf) %>%
  summarize(sd = sd(pct_change, na.rm = TRUE)) %>%
  right_join(pct_change_ds, by = "organization_name") %>%
  select(organization_name, EIN, pct_change, sd) %>%
  mutate(organization_name = reorder(organization_name, -sd, na.rm = TRUE))

## Unlimited 
box_plot_inv <- ggplot(pct_change_inv_box, aes(x = organization_name, y = pct_change)) + 
  geom_boxplot(aes(color = organization_name), show.legend = FALSE) + 
  geom_point(size = 1, alpha = 0.5) + 
  theme_bw() + 
  labs(title = "Range of Endowment Percent Change per Company",
       x = "Dance Company",
       y = "Percentage of Change in Endowment Balance") + 
  theme(axis.text.x = element_blank()) + 
  geom_hline(yintercept = 100, linetype = "dotted", color = "maroon")
ggplotly(box_plot_inv) %>%
  layout(showlegend = FALSE)
##Limited to 100 for visibility 
box_plot_inv_lim <- ggplot(pct_change_inv_box, aes(x = organization_name, y = pct_change)) + 
  geom_boxplot(aes(color = organization_name), show.legend = FALSE) + 
  geom_point(size = 1, alpha = 0.5) + 
  theme_bw() + 
  labs(title = "Range of Endowment % Change (Max of 100) per Company",
       x = "Dance Company",
       y = "Percentage of Change in Endowment Balance") + 
  theme(axis.text.x = element_blank()) + 
  scale_y_continuous(breaks = scales::breaks_pretty(n = 20),
                     limit = c(-100,100))
ggplotly(box_plot_inv_lim)  %>%
  layout(showlegend = FALSE)

Percent Change over Time

WITH investments

## Retrieving median values  
pct_change_med <- pct_change_ds %>%
  group_by(fiscal_year) %>%
  summarize(median = median(pct_change, na.rm = TRUE)) %>%
  mutate(organization_name = "Median")
## Spend Down over Time
pct_change_plot <- pct_change_ds %>%
  ggplot(aes(x = fiscal_year, y = pct_change, 
             group = organization_name, color = organization_name)) +
  geom_line(alpha = 0.5) + 
  theme_bw() + 
  labs(y = "Percent Change",
       x = "Fiscal Year",
       title = "Percentage of Change in Endowment Balance",
       subtitle = "By Fiscal Year") + 
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 25),
        strip.text = element_text(face="bold",size = 5),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
  scale_y_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 20)) +
  geom_hline(yintercept = 100, linetype = "dotted", color = "gray") +
  geom_point(data = pct_change_med, aes(x = fiscal_year, y = median), color = "black", size = 1)
ggplotly(pct_change_plot) 
##Plot with Y scale between -100 and 100 
limited_scale <- pct_change_ds %>%
  ggplot(aes(x = fiscal_year, y = pct_change, 
             group = organization_name, color = organization_name)) +
  geom_line(show.legend = FALSE, alpha = 0.5) + 
  theme_bw() + 
  labs(y = "Percent Change",
       x = "Fiscal Year",
       title = "Percentage of Change in Endowment Balance (max 100)",
       subtitle = "By Fiscal Year") + 
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 25),
        strip.text = element_text(face="bold",size = 5),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
  scale_y_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 20),
                     limits = c(-100, 100))  +
  geom_point(data = pct_change_med, aes(x = fiscal_year, y = median), color = "black", size = 1)
ggplotly(limited_scale)

WITHOUT investments

## Retrieving median values  
pct_change_inv_med <- pct_change_inv_ds %>%
  group_by(fiscal_year) %>%
  summarize(median = median(pct_change, na.rm = TRUE)) %>%
  mutate(organization_name = "Median")
## Spend Down over Time
pct_change_inv_plot <- pct_change_inv_ds %>%
  ggplot(aes(x = fiscal_year, y = pct_change, 
             group = organization_name, color = organization_name)) +
  geom_line(alpha = 0.5) + 
  theme_bw() + 
  labs(y = "Percent Change",
       x = "Fiscal Year",
       title = "Percentage of Change in Endowment Balance",
       subtitle = "By Fiscal Year") + 
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 25),
        strip.text = element_text(face="bold",size = 5),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
  scale_y_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 20)) +
  geom_hline(yintercept = 100, linetype = "dotted", color = "gray")  +
  geom_point(data = pct_change_inv_med, aes(x = fiscal_year, y = median), color = "black", size = 1)
ggplotly(pct_change_inv_plot) 
##Plot with Y scale between -100 and 100 
limited_scale_inv <- pct_change_inv_ds %>%
  ggplot(aes(x = fiscal_year, y = pct_change, 
             group = organization_name, color = organization_name)) +
  geom_line(show.legend = FALSE, alpha = 0.5) + 
  theme_bw() + 
  labs(y = "Percent Change",
       x = "Fiscal Year",
       title = "Percentage of Change in Endowment Balance (max 100)",
       subtitle = "By Fiscal Year") + 
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 25),
        strip.text = element_text(face="bold",size = 5),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
  scale_y_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 20),
                     limits = c(-100, 100))  +
  geom_point(data = pct_change_inv_med, aes(x = fiscal_year, y = median), color = "black", size = 0.5)
ggplotly(limited_scale_inv)

Breaking Companies up by Behavior

Using only the dataset normalized for investments, as that has more consistency.

# Adding var for "Consistency"  

## Between mean +/- SD
#inv_consist <- pct_change_inv_ds %>%
 # group_by(organization_name) %>%
  #filter(pct_change != Inf & pct_change != -Inf) %>%
#  summarize(mean = mean(pct_change), 
 #           sd = sd(pct_change)) %>%
 # mutate(consistent = ifelse(between(mean + sd, -7, 7) | between(mean - sd, -7, 7), TRUE, FALSE))

## Checking if any value is outside of -7:7, can do with min/max
inv_consist <- pct_change_inv_ds %>%
  group_by(organization_name) %>%
  filter(pct_change != Inf & pct_change != -Inf) %>%
  summarize(min = min(pct_change), 
            max = max(pct_change),
            sd = sd(pct_change)) %>%
  mutate(consistent = ifelse(between(min + sd, -7, 7) & between(max - sd, -7, 7), TRUE, FALSE),
         #Manual inspection showed BQC should be marked as consistent but just didnt quite make it math-wise
         consistent = ifelse(organization_name == "Ballet Quad Cities", TRUE, consistent))

## Adding consistency 
inv_consist_ds <- inv_consist %>% 
  select(organization_name, consistent) %>% 
  right_join(pct_change_inv_ds, by = "organization_name") %>%
  filter(pct_change != Inf & pct_change != -Inf)
##plottinng
test <- ggplot(inv_consist_ds, aes(x = fiscal_year, y = pct_change, 
             group = organization_name, color = consistent)) +
  geom_line(show.legend = TRUE, alpha = 0.3) + 
  theme_bw() + 
  labs(y = "Percent Change",
       x = "Fiscal Year",
       title = "Percentage of Change in Endowment Balance (max 100)",
       subtitle = "By Fiscal Year") + 
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 25),
        strip.text = element_text(face="bold",size = 5),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
  scale_y_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 20),
                     limits = c(-100, 100))  +
  geom_point(data = pct_change_inv_med, aes(x = fiscal_year, y = median), color = "black", size = 0.5) + 
  geom_hline(yintercept = 7, alpha = .5, linetype = "dotted") + 
  geom_hline(yintercept = -7, alpha = .5, linetype = "dotted") 

test

ggplotly(test)
inv_box <- inv_consist_ds %>%
  group_by(organization_name) %>%
  filter(pct_change != Inf) %>%
  summarize(sd = sd(pct_change, na.rm = TRUE)) %>%
  right_join(inv_consist_ds, by = "organization_name") %>%
  select(organization_name, EIN, pct_change, sd, consistent) %>%
  mutate(organization_name = reorder(organization_name, -sd, na.rm = TRUE))

## Unlimited 
box_plot <- ggplot(inv_box, aes(x = organization_name, y = pct_change)) + 
  geom_boxplot(aes(color = consistent), show.legend = FALSE) + 
  geom_point(size = 1, alpha = 0.5) + 
  theme_bw() + 
  labs(title = "Range of Endowment Percent Change per Company",
       x = "Dance Company",
       y = "Percentage of Change in Endowment Balance") + 
  theme(axis.text.x = element_blank()) + 
  geom_hline(yintercept = 100, linetype = "dotted", color = "maroon")
ggplotly(box_plot) %>%
  layout(showlegend = FALSE)
##Limited to 100 for visibility 
ggplot(inv_box, aes(x = organization_name, y = pct_change)) + 
  geom_boxplot(aes(color = consistent), show.legend = FALSE) + 
  geom_point(size = 1, alpha = 0.2) + 
  theme_bw() + 
  labs(title = "Range of Endowment % Change (Max of 100) per Company",
       x = "Dance Company",
       y = "Percentage of Change in Endowment Balance") + 
  theme(axis.text.x = element_blank()) + 
  scale_y_continuous(breaks = scales::breaks_pretty(n = 20),
                     limit = c(-100,100))

Examining the Two Classes

Lists of Companies within Each Class

## Names in a table  
# CONSISTENT ones  
inv_consist %>% 
  filter(consistent == TRUE) %>%
  select(-consistent) %>%
  make_table(title = "Companies with Consistent Endowment Changes", col_names = c("Organization Name", "Minimum Change", "Maximum Change", "Standard Deviation")) %>%
  scroll_box(height = "450px")
Companies with Consistent Endowment Changes
Organization Name Minimum Change Maximum Change Standard Deviation
American Ballet Theatre -10.1384374 4.2860828 4.0324901
Ballet Quad Cities -8.1500000 -5.6644880 0.8835432
Ballet West 0.0000000 0.0000000 0.0000000
Dance Theatre of Harlem -0.0388002 0.0000000 0.0187423
Eugene Ballet -1.0345879 0.0688889 0.3302962
Houston Ballet -6.2005177 0.2170576 1.6879328
Madison Ballet -5.9572663 -3.0421945 1.1388038
Nevada Ballet Theatre -4.0666759 8.6980699 3.2556331
New York City Ballet -5.6655590 7.4146906 3.6785695
Pacific Northwest Ballet -4.9507177 4.3953178 2.8264344
Pittsburgh Ballet Theatre -9.6760767 6.5959063 5.0398509
The Alabama Ballet -9.3608502 0.0000000 3.2690717
Tulsa Ballet -7.7686509 10.7046483 5.9757380

There are 13 companies which have ‘consistent’ endowment percent change.

## Names in a table  
# INCONSISTENT ones  
inv_consist %>% 
  filter(consistent == FALSE) %>%
  select(-consistent) %>%
  make_table(title = "Companies with Inconsistent Endowment Changes", col_names = c("Organization Name", "Minimum Change", "Maximum Change", "Standard Deviation")) %>%
  scroll_box(height = "450px")
Companies with Inconsistent Endowment Changes
Organization Name Minimum Change Maximum Change Standard Deviation
Alvin Ailey American Dance Theater -4.1243918 14.081909 5.448452
American Repertory Ballet 0.0000000 51.650676 22.878143
Aspen Santa Fe Ballet -90.9315940 27.985398 32.123542
Atlanta Ballet -44.6403251 202.316498 77.865045
Ballet Arizona -4.5855094 586.137489 228.214430
Ballet Austin -3.1962055 96.801014 38.214646
Ballet Des Moines 0.8898064 25.250000 17.225258
Ballet Hispanico -6.1313369 426.757101 129.225939
Ballet Memphis -4.2013624 99.971553 41.557976
BalletMet -2.8122552 85.024976 27.183927
Boston Ballet -5.1204623 18.685271 7.187359
Charlotte Ballet -5.3581636 151.235743 47.968535
Colorado Ballet -45.6020434 0.000000 20.295490
Dayton Ballet -4.9439121 111.287046 48.991355
First State Ballet Theatre -72.7468454 1448.076268 483.621410
Fort Wayne Ballet -5.0721240 1803.322414 638.452734
Grand Rapids Ballet -5.1685752 181.500497 57.603893
Joffrey Ballet 6.3995664 3091.401685 1241.573466
Kansas City Ballet -10.8708252 21.485368 9.369251
Miami City Ballet -4.7185994 65.463629 22.940589
Milwaukee Ballet -2.9985679 197.640687 66.634896
Nashville Ballet -94.2002001 275.012376 108.069064
New Mexico Ballet Company -1.0439065 21.277736 12.791467
Oregon Ballet Theatre 0.1654999 15.510390 4.535373
Orlando Ballet -91.0428942 547.700351 261.257026
Pennsylvania Ballet -23.4542637 -3.339976 6.153578
Richmond Ballet -4.9885620 175.926104 59.163609
San Francisco Ballet -101.4981454 6.966102 34.689496
Texas Ballet Theater -0.1453333 133.333333 47.525613
The Charleston Ballet -3.3875824 118.346167 42.371447
The Sarasota Ballet -19.1999386 37.685500 15.618410
The Tallahassee Ballet -2.4204703 56.074766 18.732869
The Washington Ballet -57.6457603 -1.092903 21.377074

There are 33 companies which have ‘inconsistent’ endowment percent change.

Size of Companies in Each Class

##Getting employee data
source(here("GET_VARS.R"))
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
##Specifically reading in employee data
files <- dir( here("ballet_990_released_20230208"),
              full.names = TRUE)
employ_data <- map_df(files, ~
                    get_df(variables =  c("//Return//ReturnData//TotalEmployeeCnt"),
                           filename = .x
                           )) %>%
    mutate(TotalEmployeeCnt = as.numeric(TotalEmployeeCnt)) %>%
  left_join(names, by = "EIN")
## Most recent years for each company
employ_data$fiscal_year = as.numeric(as.character(employ_data$fiscal_year))
most_recent_yrs <- employ_data %>%
  group_by(organization_name) %>%
  summarize(recent_year = max(fiscal_year, na.rm = TRUE)) %>%
  left_join(employ_data, by = c("organization_name", "recent_year" = "fiscal_year"))

## Limiting to ONLY most recent year 
most_recent_ds <- inv_consist_ds %>%
  left_join(most_recent_yrs, by = "organization_name") %>%
  filter(fiscal_year == recent_year)
## Consistent  
most_recent_ds %>%
  filter(consistent == TRUE) %>%
  select(organization_name, TotalEmployeeCnt, EndYearBalanceAmt, recent_year) %>%
  make_table("Size of Consistent Companies, by Employees and Endowment", col_names = c("Organization Name", "Total Employee Count", "End Year Balance Amount", "Fiscal Year")) %>%
  scroll_box(height = "450px")
Organization Name Total Employee Count End Year Balance Amount Fiscal Year
American Ballet Theatre 493 26365262 2020
Ballet Quad Cities 4 8764 2020
Ballet West 541 2127314 2020
Dance Theatre of Harlem 149 33505 2020
Eugene Ballet 72 62150 2021
Eugene Ballet NA 62150 2021
Houston Ballet 535 80123432 2020
Madison Ballet 41 932750 2020
Nevada Ballet Theatre 80 2470253 2021
New York City Ballet 1451 214442196 2020
Pacific Northwest Ballet 514 20779107 2020
Pittsburgh Ballet Theatre 235 10758728 2021
The Alabama Ballet 102 432673 2020
Tulsa Ballet 97 10614630 2020
## Inconsistent  
most_recent_ds %>%
  filter(consistent == FALSE) %>%
  filter(!is.na(TotalEmployeeCnt)) %>%
  select(organization_name, TotalEmployeeCnt, EndYearBalanceAmt, recent_year) %>%
  make_table("Size of Inconsistent Companies, by Employees and Endowment", col_names = c("Organization Name", "Total Employee Count", "End Year Balance Amount", "Fiscal Year")) %>%
  scroll_box(height = "450px")
Organization Name Total Employee Count End Year Balance Amount Fiscal Year
Alvin Ailey American Dance Theater 856 71754853 2020
Aspen Santa Fe Ballet 81 550000 2020
Atlanta Ballet 181 3356278 2020
Ballet Arizona 207 4606871 2020
Ballet Austin 283 8859387 2020
Ballet Des Moines 14 29858 2019
Ballet Hispanico 111 7481852 2021
Ballet Memphis 73 9982568 2020
BalletMet 209 535225 2020
Boston Ballet 664 18135662 2020
Charlotte Ballet 119 5670206 2020
Dayton Ballet 333 4108434 2019
First State Ballet Theatre 32 58253 2020
Grand Rapids Ballet 63 2171052 2020
Joffrey Ballet 348 8999109 2020
Kansas City Ballet 209 11847916 2019
Miami City Ballet 333 2949392 2021
Milwaukee Ballet 179 588056 2019
New Mexico Ballet Company 1 28897 2020
Oregon Ballet Theatre 235 65023 2021
Orlando Ballet 113 696082 2020
Pennsylvania Ballet 300 3290362 2020
Richmond Ballet 240 2301816 2020
San Francisco Ballet 731 113923812 2020
Texas Ballet Theater 406 329418 2020
The Sarasota Ballet 109 734309 2020
The Tallahassee Ballet 34 12524 2020
The Washington Ballet 235 310000 2020
## Labels for facet 
consistent_labels <- c(
  `TRUE` = "Consistent",
  `FALSE` = "Inconsistent"
)

##Histograms
most_recent_ds %>%
  ggplot(aes(x = TotalEmployeeCnt)) +
  geom_histogram(binwidth = 60, color = "black", fill = "gray") +
  facet_wrap(~consistent, labeller = as_labeller(consistent_labels)) + 
  theme_bw() + 
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 90),
        strip.text = element_text(face="bold",size = 10),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
    scale_x_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 10)) +
  labs( title = "Size of Companies by Employee Total")

most_recent_ds %>%
  ggplot(aes(x = EndYearBalanceAmt)) +
  geom_histogram(color = "black", fill = "gray") + 
  facet_wrap(~consistent, labeller = as_labeller(consistent_labels)) + 
  theme_bw() + 
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 90),
        strip.text = element_text(face="bold",size = 10),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
    scale_x_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 10)) +
  labs( title = "Size of Companies by End Year Balance Amount")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

most_recent_ds %>%
  filter(EndYearBalanceAmt < 20000000) %>%
  ggplot(aes(x = EndYearBalanceAmt)) +
  geom_histogram(color = "black", fill = "gray") + 
  facet_wrap(~consistent, labeller = as_labeller(consistent_labels)) + 
  theme_bw() +
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 90),
        strip.text = element_text(face="bold",size = 10),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
    scale_x_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 10)) +
  labs( title = "Size of Companies by End Year Balance Amount, Limit $20,000,000")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Percent Change Within the Pandemic

WITH investments

## Pandemic Years
pct_change_plot <- pct_change_ds %>%
  filter(fiscal_year %in% c("2018", "2019", "2020", "2021", "2022")) %>% 
  ggplot(aes(x = fiscal_year, y = pct_change, 
             group = organization_name, color = organization_name)) +
  geom_line(show.legend = FALSE, alpha = 0.5) + 
  theme_bw() + 
  labs(y = "Percent Change",
       x = "Fiscal Year",
       title = "Percentage of Change in Endowment Balance",
       subtitle = "Within Pandemic Years") + 
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 25),
        strip.text = element_text(face="bold",size = 5),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
  scale_y_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 20)) +
  geom_hline(yintercept = 100, linetype = "dotted", color = "gray")
ggplotly(pct_change_plot) 
## Table of available in-pandemic data 
pct_change_ds %>%
  filter(fiscal_year %in% c("2019", "2020", "2021", "2022")) %>%
  select(organization_name, pct_change, fiscal_year) %>%
  arrange(desc(fiscal_year)) %>%
  make_table(title = "Percentage of Change in Endowment Balance within Pandemic Years", col_names = c("Name", "% Change", "Year")) %>%
  scroll_box(height = "450px")
Percentage of Change in Endowment Balance within Pandemic Years
Name % Change Year
Ballet Hispanico 432.1555786 2021
Miami City Ballet 103.3796951 2021
Eugene Ballet 35.3676599 2021
Pittsburgh Ballet Theatre 20.2563462 2021
Oregon Ballet Theatre 1.5619387 2021
Nevada Ballet Theatre -0.8682968 2021
First State Ballet Theatre 242.6848638 2020
Joffrey Ballet 90.8216917 2020
Richmond Ballet 39.8449675 2020
Grand Rapids Ballet 16.5116257 2020
Ballet Austin 8.9689362 2020
American Ballet Theatre 8.9365465 2020
Ballet West 8.0887426 2020
Tulsa Ballet 7.2630153 2020
Boston Ballet 6.8383787 2020
The Sarasota Ballet 5.3797096 2020
Pacific Northwest Ballet 5.2552006 2020
Eugene Ballet 2.0266667 2020
Oregon Ballet Theatre 1.9913020 2020
Alvin Ailey American Dance Theater 1.1173579 2020
Madison Ballet 1.0503166 2020
Pennsylvania Ballet 0.9848159 2020
Nashville Ballet 0.6340668 2020
The Alabama Ballet 0.5951924 2020
Texas Ballet Theater 0.5742863 2020
New Mexico Ballet Company 0.2184921 2020
Dance Theatre of Harlem 0.0000000 2020
BalletMet 0.0000000 2020
The Washington Ballet 0.0000000 2020
Aspen Santa Fe Ballet 0.0000000 2020
Nevada Ballet Theatre -0.0958192 2020
Ballet Hispanico -0.2921837 2020
Houston Ballet -0.5394078 2020
Ballet Arizona -1.3712710 2020
Fort Wayne Ballet -1.6147683 2020
New York City Ballet -2.9450705 2020
Charlotte Ballet -3.0415463 2020
Pittsburgh Ballet Theatre -3.0426410 2020
The Tallahassee Ballet -4.1994951 2020
Ballet Quad Cities -4.5315904 2020
Miami City Ballet -4.8106966 2020
San Francisco Ballet -8.4597794 2020
Ballet Memphis -11.6985509 2020
Atlanta Ballet -28.5158513 2020
Orlando Ballet -90.9983829 2020
Joffrey Ballet 146.9046722 2019
First State Ballet Theatre 69.9900000 2019
Dayton Ballet 47.3628143 2019
Richmond Ballet 34.8263002 2019
New Mexico Ballet Company 28.7289611 2019
BalletMet 22.9766213 2019
Kansas City Ballet 14.2884428 2019
Tulsa Ballet 14.0998602 2019
Orlando Ballet 13.8649901 2019
American Ballet Theatre 12.8340039 2019
Grand Rapids Ballet 11.2809947 2019
Boston Ballet 7.8186556 2019
Ballet Des Moines 6.2713554 2019
Oregon Ballet Theatre 4.1823644 2019
Alvin Ailey American Dance Theater 3.5551869 2019
The Tallahassee Ballet 3.4501860 2019
Houston Ballet 3.0126539 2019
Ballet Austin 2.7039028 2019
Pacific Northwest Ballet 2.5299841 2019
Ballet West 2.5020351 2019
Ballet Hispanico 1.5405288 2019
Miami City Ballet 1.1650569 2019
Pittsburgh Ballet Theatre 0.7669528 2019
Texas Ballet Theater 0.5813097 2019
Fort Wayne Ballet 0.4949803 2019
New York City Ballet 0.0809932 2019
Dance Theatre of Harlem 0.0000000 2019
Aspen Santa Fe Ballet 0.0000000 2019
Eugene Ballet 0.0000000 2019
Milwaukee Ballet -0.2192253 2019
San Francisco Ballet -0.4505953 2019
Madison Ballet -0.6341596 2019
Pennsylvania Ballet -0.6773370 2019
Nevada Ballet Theatre -0.9524021 2019
Charlotte Ballet -1.1038242 2019
Ballet Arizona -1.3078878 2019
Ballet Quad Cities -1.4598540 2019
The Alabama Ballet -3.6897295 2019
Ballet Memphis -6.1694703 2019
The Sarasota Ballet -15.1497071 2019
Atlanta Ballet -36.6916144 2019
The Washington Ballet -50.1144953 2019
Nashville Ballet -94.4004512 2019
pct_change_ds %>%
  filter(fiscal_year %in% c("2019", "2020", "2021", "2022")) %>%
  select(organization_name, pct_change, fiscal_year) %>%
  group_by(fiscal_year) %>%
  summarize(total_in_year = n())

WITHOUT investments

## Pandemic Years
pct_change_plot_inv <- pct_change_inv_ds %>%
  filter(fiscal_year %in% c("2018", "2019", "2020", "2021", "2022")) %>% 
  ggplot(aes(x = fiscal_year, y = pct_change, 
             group = organization_name, color = organization_name)) +
  geom_line(show.legend = FALSE, alpha = 0.5) + 
  theme_bw() + 
  labs(y = "Percent Change",
       x = "Fiscal Year",
       title = "Percentage of Change in Endowment Balance",
       subtitle = "Within Pandemic Years") + 
  theme(plot.title = element_text(size = 10, face = "bold", hjust = .5),
        axis.title = element_text(size = 12, face = "bold"),
        plot.subtitle = element_text(size = 5, face = "italic", hjust = .5),
        axis.text.x = element_text(size = 10, angle = 25),
        strip.text = element_text(face="bold",size = 5),
        legend.key.size = unit(1, 'mm'),
        legend.text = element_text(size=7)) + 
  scale_y_continuous(labels = scales::comma_format(),
                     breaks = scales::pretty_breaks(n = 20)) +
  geom_hline(yintercept = 100, linetype = "dotted", color = "gray")
ggplotly(pct_change_plot_inv) 
## Table of available in-pandemic data 
pct_change_inv_ds %>%
  filter(fiscal_year %in% c("2019", "2020", "2021", "2022")) %>%
  select(organization_name, pct_change, fiscal_year) %>%
  arrange(desc(fiscal_year)) %>%
  make_table(title = "Percentage of Change in Endowment Balance within Pandemic Years", col_names = c("Name", "% Change", "Year")) %>%
  scroll_box(height = "450px")
Percentage of Change in Endowment Balance within Pandemic Years
Name % Change Year
Ballet Hispanico 426.7571012 2021
Miami City Ballet 65.4636289 2021
Oregon Ballet Theatre 1.5619387 2021
Eugene Ballet -1.0345879 2021
Nevada Ballet Theatre -1.0575507 2021
Pittsburgh Ballet Theatre -4.7030709 2021
First State Ballet Theatre 242.6848638 2020
Joffrey Ballet 86.1363009 2020
Richmond Ballet 43.9335422 2020
Grand Rapids Ballet 9.8477067 2020
Pacific Northwest Ballet 4.3953178 2020
Oregon Ballet Theatre 1.9913020 2020
Ballet Austin 1.8896472 2020
Boston Ballet 1.5323016 2020
Eugene Ballet 0.0688889 2020
Dance Theatre of Harlem 0.0000000 2020
BalletMet 0.0000000 2020
Nashville Ballet 0.0000000 2020
Aspen Santa Fe Ballet 0.0000000 2020
Texas Ballet Theater 0.0000000 2020
Ballet West 0.0000000 2020
The Sarasota Ballet -0.4168927 2020
Ballet Arizona -0.6848327 2020
Miami City Ballet -0.9255126 2020
New Mexico Ballet Company -1.0439065 2020
The Washington Ballet -1.0929032 2020
The Tallahassee Ballet -1.7058059 2020
Tulsa Ballet -1.7067692 2020
Nevada Ballet Theatre -1.7139215 2020
American Ballet Theatre -2.6235825 2020
The Alabama Ballet -3.5193077 2020
New York City Ballet -3.5223075 2020
Ballet Hispanico -3.6378284 2020
Ballet Memphis -3.8335615 2020
Pennsylvania Ballet -3.8933190 2020
Houston Ballet -4.0352545 2020
Alvin Ailey American Dance Theater -4.1243918 2020
Charlotte Ballet -4.6291277 2020
Madison Ballet -4.7836803 2020
Pittsburgh Ballet Theatre -4.9093733 2020
Fort Wayne Ballet -5.0721240 2020
Ballet Quad Cities -5.6644880 2020
San Francisco Ballet -8.8273535 2020
Atlanta Ballet -32.3489884 2020
Orlando Ballet -91.0428942 2020
Joffrey Ballet 133.5419677 2019
First State Ballet Theatre 69.9900000 2019
Dayton Ballet 45.1776417 2019
Richmond Ballet 26.8630003 2019
BalletMet 22.9766213 2019
New Mexico Ballet Company 21.2777356 2019
Orlando Ballet 13.7276516 2019
Tulsa Ballet 10.7046483 2019
Kansas City Ballet 8.0361126 2019
Grand Rapids Ballet 6.4258755 2019
Oregon Ballet Theatre 4.1823644 2019
Boston Ballet 1.6442499 2019
Ballet Des Moines 0.8898064 2019
Dance Theatre of Harlem 0.0000000 2019
Aspen Santa Fe Ballet 0.0000000 2019
Texas Ballet Theater 0.0000000 2019
Ballet West 0.0000000 2019
Eugene Ballet 0.0000000 2019
The Tallahassee Ballet -1.7488328 2019
Ballet Austin -2.2380197 2019
Nevada Ballet Theatre -2.2385659 2019
Alvin Ailey American Dance Theater -2.4754845 2019
Houston Ballet -2.4811062 2019
Pacific Northwest Ballet -2.5450559 2019
Milwaukee Ballet -2.9985679 2019
New York City Ballet -3.0471032 2019
Pittsburgh Ballet Theatre -3.0837881 2019
Ballet Hispanico -3.5388308 2019
Miami City Ballet -3.7915315 2019
The Alabama Ballet -3.8811799 2019
Pennsylvania Ballet -3.9757122 2019
Ballet Memphis -4.2013624 2019
Charlotte Ballet -4.2365488 2019
Ballet Arizona -4.5855094 2019
Fort Wayne Ballet -5.0348542 2019
Madison Ballet -5.0381831 2019
San Francisco Ballet -5.3065465 2019
Ballet Quad Cities -6.7947617 2019
American Ballet Theatre -6.8846524 2019
The Sarasota Ballet -19.1999386 2019
Atlanta Ballet -38.7833870 2019
The Washington Ballet -51.9275920 2019
Nashville Ballet -94.2002001 2019
pct_change_inv_ds %>%
  filter(fiscal_year %in% c("2019", "2020", "2021", "2022")) %>%
  select(organization_name, pct_change, fiscal_year) %>%
  group_by(fiscal_year) %>%
  summarize(total_in_year = n())